﻿using System;
using System.Globalization;
using System.Windows.Data;
using MediaAssistant.DAL;
using MediaAssistant.DAL.Helper;

namespace MediaAssistant.Converters
{
    public class PosterImageConverter:IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            var movie = values[0] as Movie;
            if (movie == null || movie.Poster == null)
                return null;
            try
            {
                var posterImage = movie.PosterImage;
                if (movie.PosterImage == null)
                {
                    if (values.Length == 3)
                    {
                        WebRequestHelper.UpdateImageInBackground(movie);
                    }
                    else
                    {
                        posterImage = WebRequestHelper.DownloadInCurrentThread(movie.Poster);
                        movie.PosterImage = posterImage;
                    }
                }

                var bitmapImage = ConvertTo.BitmapImage(posterImage);
                return bitmapImage;

            }
            catch (Exception)
            {

                return null;
            }
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}
